iOS 8 以后需要进行plist文件配置
plist文件配置
####摄像头权限
1 | AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo]; |
[[AVAudioSession sharedInstance] requestRecordPermission:^(BOOL granted) {
if (granted) {//成功访问
} else {//访问受限
}
}];1 | ####照片权限 |
if ([PHPhotoLibrary authorizationStatus] != PHAuthorizationStatusAuthorized) {//成功访问
}else{//访问受限
}
1 | ####定位权限 |
//判断定位用户权限
CLAuthorizationStatus status = [CLLocationManager authorizationStatus];
//判断状态
switch (status) {
case kCLAuthorizationStatusAuthorizedAlways://一直获取
break;
case kCLAuthorizationStatusAuthorizedWhenInUse://使用期间
break;
case kCLAuthorizationStatusDenied://用户禁止
break;
case kCLAuthorizationStatusNotDetermined://未做决定
{
//获取权限
//使用期间使用 NSLocationWhenInUseUsageDescription
[_locationManager requestWhenInUseAuthorization];
//一直使用 NSLocationAlwaysUsageDescription// [_locationManager requestAlwaysAuthorization];
}
break;
case kCLAuthorizationStatusRestricted://受限制
break;
default:
break;
}1 | ####通讯录权限 |
ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions(NULL, NULL);
//请求访问用户通讯录,无论成功与否block都会调用
ABAddressBookRequestAccessWithCompletion(addressBookRef, ^(bool granted, CFErrorRef error) {
if (granted) {//成功访问
}else{//访问受限
}
});